目的
把data属性赋值给vm._data。遍历options里的data属性,通过defineProperty给vm定义属性,vm.xx = xxx触发set方法,set方法通知给vm._data
Vue的数据代理
为什么修改vm的属性值,vm._data里的值会改变呢?
答:进行了数据代理,vue初始化d会对data里的属性进行遍历,对每个属性进行set/get。修改了vm的属性值,触发set方法改变_data里的值
MVVM使用方式
1 | // vue相同使用方法 |
MVVM实现数据代理
1 | function MVVM (options) { |